home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.tcl,comp.answers,news.answers
- Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!usc!sdd.hp.com!caen!malgudi.oar.net!chemabs!lvirden
- From: lwv26@cas.org (Larry W. Virden)
- Subject: FAQ: comp.lang.tcl Frequently Asked Questions (1/3)
- (Last updated: June 16, 1993)
- Message-ID: <tcl.p1_740234997@cas.org>
- Followup-To: comp.lang.tcl
- Summary: A regular posting of the comp.lang.tcl Frequently Asked Questions
- (FAQ) and their answers. This is the first of three parts.
- This part introduces Tcl and Tk and discusses documentation, etc.
- Originator: lwv26@lwv26aws
- Keywords: tcl, extended tcl, tk, expect
- Sender: lvirden@cas.org
- Supersedes: <tcl.p1_737658025@cas.org>
- Reply-To: lvirden@cas.org (Larry W. Virden)
- Organization: Chemical Abstracts Service
- Date: Wed, 16 Jun 1993 12:50:10 GMT
- Approved: news-answers-request@MIT.Edu
- Expires: Wed, 28 Jul 1993 12:49:57 GMT
- Lines: 545
- Xref: senator-bedfellow.mit.edu comp.lang.tcl:4757 comp.answers:1024 news.answers:9490
-
- Archive-name: tcl-faq/part1
- Version: 3.3
- Last-modified: June 16, 1993
-
-
- For more information concerning Tcl (see "tcl-faq/part2") or
- (see "tcl-faq/part3").
-
- Index of questions:
-
- I. Origin of the comp.lang.tcl FAQ information.
- II. What is Tcl? Tk? Extended Tcl?
- III. Do these packages run on my machine?
- A. Unix
- B. MacOS
- C. MS-DOS
- D. VMS
- E. AmigaDOS
- IV. Other than C, What languages can talk to tcl/tk?
- A. Shell
- B. C++
- C. Modula-3
- D. Eiffel
- E. Other
- V. Is there a bibliography of material relating to these programs?
- A. The Tcl distribution
- B. The Expect distribution
- C. Miscellaneous other online materials
- D. Published articles
- E. Training courses, materials, etc.
- F. Time-related seminars, conferences, sessions.
- VI. Where do I report problems, bugs, or enhancements - or -
- What is comp.lang.tcl?
- VII. Where can I find the FAQ and who do I contact for more information
- about it?
-
- End of FAQ Index
-
- ----------------------------------------------------------------------
-
- ------------------------------
-
- From: FAQ General information
- Subject: -I- Origin of the comp.lang.tcl FAQ information.
-
- The information in this set of FAQs comes from 3 sources. The
- primary source of information is the group itself - I spend (much too
- much) time each month culling through what I feel are some of the best
- answers, gathering up new information on ports, etc. and adding it
- here. I also gather new application information and add it as
- best I can. The next most predominant source of information comes from
- the authors of the various software packages. Finally, a small amount
- comes from my personal experiences.
-
- I am always on the search for folk to assist in the maintenance
- of these FAQs. In fact, if you feel that you would like to coordinate
- this effort, PLEASE let me know!
-
- ------------------------------
-
- From: FAQ General information
- Subject: -II- What is Tcl? Tk? Extended Tcl?
-
- Tcl (Version 6.7) stands for ``tool command language'' and is
- pronounced ``tickle.'' It is actually two things: a language and a
- library. First, Tcl is a simple textual language, intended primarily
- for issuing commands to interactive programs such as text editors,
- debuggers, illustrators, and shells. It has a simple syntax and is
- also programmable, so Tcl users can write command procedures to provide
- more powerful commands than those in the built-in set.
-
- Second, Tcl is a library package that can be embedded in
- application programs. The Tcl library consists of a parser for the Tcl
- language, routines to implement the Tcl built-in commands, and
- procedures that allow each application to extend Tcl with additional
- commands specific to that application. The application program
- generates Tcl commands and passes them to the Tcl parser for
- execution. Commands may be generated by reading characters from an
- input source, or by associating command strings with elements of the
- application's user interface, such as menu entries, buttons, or
- keystrokes. When the Tcl library receives commands it parses them into
- component fields and executes built-in commands directly. For commands
- implemented by the application, Tcl calls back to the application to
- execute the commands. In many cases commands will invoke recursive
- invocations of the Tcl interpreter by passing in additional strings to
- execute (procedures, looping commands, and conditional commands all
- work in this way).
-
- An application program gains three advantages by using Tcl for
- its command language. First, Tcl provides a standard syntax: once
- users know Tcl, they will be able to issue commands easily to any
- Tcl-based application. Second, Tcl provides programmability. All a
- Tcl application needs to do is to implement a few application-specific
- low-level commands. Tcl provides many utility commands plus a general
- programming interface for building up complex command procedures. By
- using Tcl, applications need not re-implement these features. Third,
- extensions to Tcl, such as the Tk toolkit, provide mechanisms for
- communicating between applications by sending Tcl commands back and
- forth. The common Tcl language framework makes it easier for
- applications to communicate with one another.
-
- Tk (Version 3.2) - an extension to Tcl which provides the
- programmer with an interface to the X11 windowing system. Note that
- many users will encounter Tk via the ``wish'' command. Wish is a
- simple windowing shell which permits the user to write Tcl applications
- in a prototyping environment.
-
- Extended Tcl (tclX) (Version 6.7c) - This is an extended set of
- commands for Tcl developed by Karl Lehenbauer and Mark Diekhans. Extended Tcl
- is oriented towards system programming tasks, with many additional interfaces
- to the Unix operating system along with other useful utilities.
-
- ------------------------------
-
- From: FAQ General information
- Subject: -III- Do these packages run on my machine?
-
- A. Unix
-
- Tcl runs on Suns and SunOS, DECstations running Ultrix, Dec
- VAXen running Ultrix or BSD, Alphas running OSF, 386s running SCO Unix,
- Xenix, Bell-Tech, Silicon Graphics running IRIX, HPs running HP-UX,
- Sequent Symmetry running Dynix. It also has been reported to run fine under
- AIX 3.2 and with few problems under Mt. Xino Mach.
-
- See the porting section below for info on porting the code to VMS as well.
-
- Tk (being based on Tcl) requires X11R4 or better as the only additional
- software requirement.
-
- B. MacOS
-
- Contact W. Ross Brown <ross@bnr.ca> for the current status of
- the Tcl MacOS port. Ross has a mailing list for discussion on that
- topic.
-
- C. MS-DOS
-
- At least four ports are available. One unsupported port of Tcl and
- Extended Tcl V6.0a, done by "Karl Lehenbauer" <Karl@NeoSoft.com>,
- is available on harbor.ecn.purdue.edu:/pub/tcl/distrib/dostcl.zoo for
- binaries and harbor.ecn.purdue.edu:/pub/tcl/distrib/dostcl60.zoo for
- source.
-
- A port of Tcl V6.2 was done by
- "John Martin" <johnm@cajal.uoregon.edu> and is available via FTP from
- cajal.uoregon.edu and harbor.ecn.purdue.edu:/pub/tcl/distrib/tcl62.dos.tar.Z .
-
- A source code only port of Tcl V6.7, done by
- PSPRENG@CIPVAX.BIOLAN.UNI-KOELN.DE (Peter Sprenger), is available from
- him, on wuarchive.wustl.edu, or on
- harbor.ecn.purdue.edu:/pub/tcl/distrib/tcl67dos.zip .
-
- A port of Tcl, V6.1 ?, done by unknown, to MS-DOS Windows
- V 3.1 ?, is available as binary at
- harbor.ecn.purdue.edu:/pub/tcl/distrib/w_tclbin.zip and as source at
- harbor.ecn.purdue.edu:/pub/tcl/distrib/w_tclsrc.zip .
-
-
- D. VMS
-
- A port of Tcl 6.2 and Tk 1.4 to VMS was done by Angel Li
- <angel@flipper.rsmas.miami.edu>. The files were at
- mango.rsmas.miami.edu:/pub/tcl-vms.bck.Z and
- mango.rsmas.miami.edu:/pub/tk-vms.bck.Z
-
- and were compressed with the Unix compress command. The files were VMS
- BACKUP files. A recent report has it that these files are no longer
- available.
-
- A port of most of Tcl 6.7 and Tk 3.2 was done by John Kimball
- <jkimball@src.honeywell.com> to VMS 5.5. The files are on:
- src.honeywell.com:/pub/tcl67-tk32-on-vms55.tar.Z .
-
-
- E. AmigaDOS
-
- Karl Lehbauer <karl@sugar.NeoSoft.com> has indicated that
- he started a port of Tcl 3.x to the Amiga. He has a working
- version, but is no longer working on it. His version uses the
- Amiga's shared libraries and implements the "send" command.
- He wrote a MIDI file loader and player as well. Contact him for
- further details.
-
- ------------------------------
-
- From: FAQ General information
- Subject: -IV- Other than C, what languages can talk to tcl/tk?
-
- A. Shell
-
- There are two standard interfaces which are shell-like. The
- first is wish, which is a windowing shell like interface that is a part
- of the Tk package. The second is tcl, a line command interpreter that
- is part of the Extended Tcl package.
-
- B. C++
-
- Check out tcl++.h in Extended Tcl. Based on an original
- implementation by Parag Patel, it defines a Tcl interpreter class by
- which Tcl interpreters can be created as objects under C++.
-
- Also, harbor.ecn.purdue.edu:/pub/tcl/distrib/tk3.2forC++.patch
- is a patch that allows tk 3.2 main.c and other extension routines
- to be compiled with a C++ compiler. Thanks to Ken Yap <ken@syd.dit.csiro.au>
- for this code.
-
- Mark Diekhans and Karl Lehenbauer have used this, in
- combination with the handle facility in Extended Tcl, to build Tcl
- commands around C++ classes.
-
- The Tcl handle facility provides a way to manage table entries
- that can be referenced by a textual handle from Tcl code. This is
- provided for applications that need to create data structures in one
- command, return a reference (i.e. pointer) to that particular data
- structure and then access that data structure in other commands. An
- example application is file handles.
-
- A handle table was built containing pointers to the instances
- of a class that were to be accessed from Tcl, say a class `foo_cl', and
- then a "new" command defined that created an instance of that class and
- returned a Tcl handle to it. The handle could then passed among Tcl
- commands that accessed each member function. The handle is in effect
- an explicit `this' pointer.
-
- For example:
-
- set obj [foo_cl::new]
- foo_cl::baz $obj "Hello world"
- foo_cl::delete $obj
-
- It's not totally object-oriented, but it's still very usable.
-
- C. Modula-3
-
- Norman Ramsey <elan.uucp!nr> says:
-
- A long time back, Eric Muller posted a Modula-3 interface to
- the C Tcl library. I wrote down a Modula-3/Tcl interface that used
- Modula-3 types rather than C types, and that used objects to build
- closures for commands. I wrote part of the implementation but never
- finished it. I have mailed copies to carroll@udel.edu, who asked the
- question, and I will post them if there seems to be general interest.
-
- D. Eiffel
-
- stephan@cs.tu-berlin.de (Stephan Herrmann) says:
-
- ... [the tclish package provides] the marriage of two very different
- principles by means of combining two programming languages into a
- hybrid program architecture. A paper, plus sample code, is available by
- ftp from ftp.dcs.gla.ac.uk:/pub/glasgow-fp/authors/Duncan_Sinclair/fumx.* .
-
- E. Other
-
- Duncan Sinclair has hacked into wish.c some hooks for a Tk <->
- any language system, and has been using it for communication with functional
- languages such as Haskell and Lazy ML.
-
- Contact him at Duncan Sinclair <sinclair@dcs.gla.ac.uk>
- for more details.
-
- ------------------------------
-
- From: FAQ General information
- Subject: -V- Is there a bibliography of material relating to these
- programs?
-
- A. The Tcl distribution
-
- With the Tcl distribution there is a Postscript version of a Usenix
- paper introducing Tcl. With the Tk distribution, there is a Postscript
- version of a Usenix paper introducing Tk.
-
- Ousterhout, J.K., (1990) ``TCL: An Embeddable Command Language'', in
- the Proceedings of the 1990 Winter USENIX Conference, pp 133-146.
-
- Ousterhout, J.K., (1991) ``An X11 Toolkit Based on the TCL Language'',
- in the Proceedings of the 1991 Winter USENIX Conference, pp 105-115.
-
- Postscript file for introductory papers on Tcl and Tk are available as
- the public FTP area on sprite.berkeley.edu (Internet address
- 128.32.150.27). Their address is:
-
- sprite.berkeley.edu:/tcl/tclUsenix90.ps
- sprite.berkeley.edu:/tcl/tkUsenix91.ps
- sprite.berkeley.edu:/tcl/tkF10.ps
-
- (The last of these files is the contents of Figure 10 of the Tk paper)
-
- If you have trouble retrieving the papers via FTP or printing them,
- send bmiller@sprite.berkeley.edu your U.S. Mail address and he will mail
- you paper copies.
-
- B. The Expect distribution
-
- With the Expect distribution, there are several Postscript documents
- available which have been published.
-
- 1. "Curing Those Uncontrollable Fits of Interaction", Proceedings of the
- Summer 1990 USENIX Conference, Anaheim, CA, June 11-15, 1990.
-
- This paper is discussion of implementation, philosophy, and design.
- It's address is:
-
- ftp.cme.nist.gov:/pub/expect/seminal.ps.Z
-
- 2. "Using expect to Automate System Administration Tasks", Proceedings of
- the 1990 USENIX Large Systems Administration Conference (LISA) IV,
- Colorado Springs, CO, October 17-19, 1990.
-
- This paper is discussion and examples, specifically aimed at system
- administrators. The address of this paper is:
-
- ftp.cme.nist.gov:/pub/expect/sysadm.ps.Z
-
- 3. "expect: Scripts for Controlling Interactive Programs", Computing
- Systems, Vol. 4, No. 2, University of California Press Journals, 1991.
-
- A comprehensive paper of example scripts. This paper's address is:
-
- ftp.cme.nist.gov:/pub/expect/scripts.ps.Z
-
- 4. "Regression Testing and Conformance Testing Interactive Programs",
- Proceedings of the Summer 1992 USENIX Conference, San Antonio, CA,
- June 8-12, 1992.
-
- This paper discusses the application of expect to the verification
- of software.
-
- This paper's address is:
-
- ftp.cme.nist.gov:/pub/expect/regress.ps.Z
-
- 5. "Kibitz - Connecting Multiple Interactive Programs Together",
- Software - Practice & Experience, John Wiley & Sons, West
- Susses, England, Vol. 23, No. 5, May 1993.
-
- This paper is a discussion of using Tcl and Expect to connect multiple
- interactive programs together.
-
- This paper's address is:
-
- ftp.cme.nist.gov:/pub/expect/kibitz.ps.Z
-
- C. Miscellaneous other online materials
-
- 1. The ftp address for a FrameMaker MIF file containing a Quick Reference guide
- to Tcl is:
-
- harbor.ecn.purdue.edu:/pub/tcl/docs/QuickRef.tar.Z
-
- Many thanks to "Jeff Tranter" <Jeff.Tranter@software.mitel.com> for
- contributing it.
-
- 2. PostScript versions of the man pages were provided by
- "Adrian Ho" <adrianho@barkley.berkeley.edu>. The addresses for these are:
-
- harbor.ecn.purdue.edu:/pub/tcl/docs/tcl6.3.manps.tar.Z
- harbor.ecn.purdue.edu:/pub/tcl/docs/tclX6.2b.manps.tar.Z
- harbor.ecn.purdue.edu:/pub/tcl/docs/tk2.1.manps.tar.Z
-
- 3. An early draft of a text book based on Tcl and Tk, written by
- John Ousterhout and to be published in 1993 by Addison-Wesley is
- available.
-
- The section dealing with writing Tcl scripts is:
- sprite.berkeley.edu:/tcl/book.p1.ps.Z
-
- The section dealing with writing Tcl scripts for Tk is:
- sprite.berkeley.edu:/tcl/book.p2.ps.Z
-
- The section dealing with writing writing Tcl applications in C is:
- sprite.berkeley.edu:/tcl/book.p3.ps.Z
-
- The first two parts are about 130 pages in length and the third part is about
- 65 pages in length. This is ONLY a draft and is not permitted to
- be redistributed.
-
- 3. A series of PostScript slides used in a tutorial on Tcl and Tk at
- the 1993 X Conference are available as:
-
- sprite.berkeley.edu:/tcl/tut.tar.Z
-
- D. Published articles and books
-
- 1. Computer Shopper, V12 N12, page 862 had an article referencing Tickle,
- the shareware package under Macintosh System 7 which is based on Tcl.
-
- 2. MacWEEK, V6 N32, page 91 had an article referencing Alpha 5.0, the
- Macintosh editor which incorporates Tcl.
-
- 3. Computer Language, V9 N7, page 76 had an article referencing Tcl in
- a hardware/software testing package which talks to a remote machine via
- a proprietary interface card.
-
- 4. SunWorld, V5 N10, pages 95-96 had a article discussing Tcl, Tk and
- expect.
-
- 5. UNIX REVIEW, V11 N4, pages 93-94, by Richard Morin. The article,
- a part of "The Internet Notebook", is about Tcl, Tk, and friends.
- It mentions a little about Tcl and Tk, where to find the
- sources, where to find the draft of the book, and where to find the
- contributed software.
-
- 6. SunExpert, V4 N3, pages 32-36, by Richard Morin. As part of Morin's
- I/Opener series of articles, this is just a brief overview of Tcl and Tk.
- It mentions some of the technical ideas behind Tcl and Tk, where to find
- the Tcl source and mentions that the draft of the book is available on
- allspice.berkeley.edu. A 'hello, world' 3 line wish script is really
- all that is shown.
-
- 7. Libes, Don, "Obfuscated C and Other Mysteries", Wiley & Sons,
- January 1993.
-
- This book has a whole chapter on Tcl. Aimed at the C programmer, it
- describes how to effectively use Tcl from C applications. Another
- chapter is on Expect - a walk-through of some of the more interesting
- code in Expect. These chapters originally appeared as separate
- articles in The C Users Journal, Vol. 8, No. 7, July 1990, and Vol. 9,
- No. 1, 1991. (Incidentally, the reason the book has such a peculiar
- title is that it also contains explanations of the Obfuscated C Code
- Contest winners.)
-
- 8. IEEE Design & Test of Computers, June 1993, by Steve Vinoski.
- An article describing a system called the Remote Interactive Scan
- Environment (RISE++) that marries Tcl with RPC for the purpose of
- testing remote computer systems.
-
- 9. The X Journal, March-April 1993, pages 74-81, "HYPERTOOLS
- A revolution in GUI applications" (listed in the TOC as "Hypertools: A GUI
- revolution") by John K. Ousterhout and Lawrence A. Rowe.
-
-
- Additional bibliographic references are still being sought.
-
- E. Training courses, materials, etc.
-
- 1. There have been, in the past, seminars at Usenix and the MIT X
- conference taught by John Ousterhout on Tcl and Tk. See above for the
- slides from the most recent of these presentations.
-
- 2. NeoSoft Communications Services ( karl@NeoSoft.com, (713) 684-5969 )
- can teach introductory and advanced Tcl courses on site or at their location
- in Houston, Texas. A syllabus and pricing information are available on
- request. Please contact Ellyn Mustard at (713) 684-5969 or via email to
- ellyn@neosoft.com for more details.
-
- 3. Computerized Processes Unlimited ( gwl@cpu.com, (504) 889-2784 )
- has a combined Tcl/Tclx reference manual for sale. It groups the commands
- by chapter based on functionality and has an extensive index.
-
- F. Time-related seminars, conferences, sessions.
-
- 1. A Tcl/Tk workshop was held June 10-11, 1993 at University of
- California at Berkeley. The workshop proceedings are going to be made
- available for ftp in the near future. The bibliographic references for
- the articles published will be added in the near future.
-
- 2. Classes on Tcl and Tk have been held at Usenix and the MIT X
- Developers Conferences in the past. The next ones that I have seen
- scheduled are during the Summer Usenix in Cincinnati, OH. At least
- three sessions relate in some manner to Tcl/Tk - the Unix Power Tools
- (Monday) and the Tcl/Tk (Tuesday) tutorials, as well as the Unix guru
- session with Dr. John Ousterhout on Tuesday night.
-
-
-
- ------------------------------
-
- From: FAQ General information
- Subject: -VI- Where do I report problems, bugs, or enhancements - or -
- What is comp.lang.tcl?
-
- There are two alternatives for reporting bugs and problems.
- The first is the USENET news group news:comp.lang.tcl, an unmoderated USENET
- newsgroup, created for the discussion of the Tcl programming language
- and tools that embed it, such as the Tk toolkit for the X window
- system, expect, and Extended Tcl. Please note that postings of source
- code to comp.lang.tcl do not get archived to harbor.ecn.purdue.edu - if
- you want your code to be available from the User Contributions archive
- you will need to make arrangements for someone to ftp it there. See
- elsewhere in the FAQ for more details on the archive site.
-
- The second would be to report problems, suggestions, new
- ideas, etc. to the author. Email to
-
- ouster@allspice.berkeley.edu (John Ousterhout)
-
- will get comments to the author of Tcl and Tk - for other programs, email
- addresses are available either elsewhere in this part or part 3.
-
- Note: for those USENET-deprived individuals who are thus unable
- to read comp.lang.tcl, a small echoing mailing list is available.
- Contact John Ousterhout (see above for email address) for details.
-
- ------------------------------
-
- From: FAQ General information
- Subject: -VII- Where can I find the FAQ and who do I contact for more
- information about it?
-
- I am going to attempt to keep a copy of this file up to date on
- harbor.ecn.purdue.edu:/pub/tcl/docs/tcl-faq.p0[1-3] .
- Also, I will be posting it on a regular basis to at least comp.lang.tcl,
- news.answers, and comp.answers.
-
- If you have corrections, enhancements, modifications,
- clarifications, suggestions, ideas, new questions, new answers to
- questions which have never been asked, or something else that I have
- not covered above, contact me at lvirden@cas.org.
-
- Many FAQs, including this one, are available on the archive
- site rtfm.mit.edu in the directory pub/usenet/news/answers. The name
- under which a FAQ is archived appears in the Archive-name line at the
- top of the article. For example, this part of the comp.lang.tcl FAQ is
- archived as tcl-faq/part1.Z . There is also a mail server from which
- you can obtain a copy of the FAQ. Send an email message to
- mail-server@rtfm.mit.edu with the word help in the body of the message
- to find out how to use it.
-
- Also, this FAQ is available from within gopher, from WAIS
- servers such as the comp.lang.tcl.src, and probably other resources as
- well. Let me know when you find the FAQ in new and unusual locations
- so I can update this resource guide!
-
- A great new resource access point for the FAQ is WorldWideWeb.
- The Uniform Resource Locator id for the FAQ is:
-
- http://www.cis.ohio-state.edu:80/hypertext/faq/usenet/tcl-faq/top.html
-
- Be sure to check this one out!
-
- ------------------------------
-
- End of comp.lang.tcl Frequently Asked Questions (1/3)
- *****************************************************
- --
- :s
- :s Larry W. Virden INET: lvirden@cas.org
- :s Personal: 674 Falls Place, Reynoldsburg, OH 43068-1614
- --
- :s
- :s Larry W. Virden INET: lvirden@cas.org
- :s Personal: 674 Falls Place, Reynoldsburg, OH 43068-1614
-